Debug Mode
Debug modes are hidden user interfaces implemented in software that allows the user to view and/or manipulate the program's internal state for debugging. The debug modes are implemented in every ''Chicken Invaders'' game since Chicken Invaders (DX Version), because it's also included in the ''Ultra VGA Engine''. It's unknown if the DOS version had them. Early UveDX They're present in the early UveDX games made by iA (Chicken Invaders (DX Version) and Piggly 2. Island Wars! doesn't have them). Two debug modes are available. Debug Mode 1 Accessing To access this debug mode, press F9 and F10 at the same time. A "cheat on" message will pop up once it's triggered. Features Early UveDX's debug mode is somewhat different from the ones seen in the other games. *Top left corner features a strange framerate indicator. Each pixel corresponds to a single millisecond. **The white bar represents the time spent by the engine to render the screen. **The red bar represents how much time it takes for the engine to copy contents over to the "hidden" page (UveDX and versions before it copy the contents of a frame to the hidden page first before the one you're allowed to see, to make sure that the screen isn't teared and glitched). **The green bar represents how much time it took for the engine to work out the physics and events happening. *At the top of the screen is the wave counting system, with three values - Wave, Stage and System. **Wave lists the current wave, it helps determine the system and stage you should be on. **Stage decides the wave type (out of 10 available) **System decides the system you're on, determines egg speed, asteroid speed, enemy health, amount of chickens on certain waves and again, the wave type (even chapter waves are slightly different compared to odd ones) *Cheats are enabled (this'll return later on). Press F5 to display a list of cheats in the top left corner. Debug Mode 2 Accessing This debug mode is inaccessible without using memory editing. To locate it, search for "1" when the first debug mode is enabled, then for "0" when it's disabled. Keep doing it until you only have a single value left, then set that value to two. Features Along with the features from the first debug mode, the second one adds the following: *Hitboxes are highlighted for every object. Drawing them is very resource-intensive, so the game may slow down. Late UveDX Later UveDX games feature three debug modes. The Next Wave (non-remastered) is the only one. Debug Mode 1 Accessing To access this debug mode, edit the game's config file and set the debugMode variable to 1. Features This debug mode shows some basic debugging stuff. *Frame lists the fps. *Min lists the maximum amount of fps the game can reach (it's rather pointless). *Max lists the minimum amount of fps the game can reach - in this case, it's about 25 fps. *Accuracy probably lists how accurate the fps count is. *Sprites (left value) lists how many sprites are onscreen. *Sprites (right value) lists how many sprites are loaded. *Surfaces lists the background objects. *Collisions lists the amount of collisions the game deals with. *Wave, Stage and System are values that determine the current wave. Debug Mode 2 Accessing Edit the game's config file and set the debugMode variable to 2. Features Along with the features from the first debug mode, the second one adds the following: *The pathfinding system used by AI controlled objects is displayed. Debug Mode 3 Accessing Edit the game's config file and set the debugMode variable to 3, or any number bigger than 3. Features Along with the features from the first and second debug mode, the second one adds the following: *The hitboxes of various sprites and surfaces are highlighted. Drawing them is very resource-intensive, so the game may slow down. UveDX8 onwards UveDX8 games (every Chicken Invaders game available except for the first one) have much more debug modes available, including 10 from the "debug" value and another one from the "rel" value. They're generally accessible through the Debug Console (for versions of games made before Ultimate Omelette's release). In case you can't access it, the only remaining option is memory editing. Debug 1 Accessing The debug value needs to be set to an odd value (1, 3, 5, etc.) Features This debug mode shows some basic debugging stuff. *FPS lists the forced amount of frames per second. *Raw/forced lists the rendered amount of frames per second. *Accuracy shows the lag between the displayed frames and what the game processes. *Audio appears to show the audio levels. Earlier versions of the Ultra VGA Engine displayed additional info: *Avg lists the average time needed to render a frame (present before Uve++11). *Min lists the minimum amount of time needed to render a frame. It's always set to 0 ms (present before UveXX) *Max lists the maximum amount of time it can take to render a frame (present before UveXX). Debug 2 Accessing The debug value needs to be set to every second even number or the number after that (2, 3, 6, 7, 10, 11, etc.) Features This debug mode contains more debugging stuff compared to Debug 1: *Global Clock is a timer that counts the time passed since the game was turned on. *Delta's use is unknown. *Tick, Post Tick, Save XForm, Render, Hud, Present, TimerWait, Misc - all of these variables show how much time it takes to render or do something. *Renderables (left value) lists how many rendered objects there are onscreen. *Renderables (right value) lists how many rendered objects there are loaded. *Vertices lists the onscreen amount of vertices. *VBuffer Writes lists data buffering. *Update visuals lists the amount of changes made since the last frame (present since UveXX). *InvXForms lists what it says (present since UveXX) *Collisions lists how many collisions the game deals with at the moment. *Textures lists the amount of memory the textures take up. *Memoryimagefiles presumably does the same thing (present since UveUDX). *Audio lists the amount of memory the sound effects take up (present since UveUDX). *Streams lists the amount of memory the sound streams take up (present since UveUDX). *Memoryfiles lists the amount of memory they take up (present since UveUDX). *The remaining text lists the mouse coordinates and button presses. Debug 4 Accessing The debug value needs to be set to those numbers - 4-7, 12-15, etc. Features This debug mode shows a graph detailing the memory use. Debug 8 Accessing The debug value needs to be set to those numbers - 8-15, 24-31, etc. Features This debug mode shows borders for the sprites onscreen. Debug 16 Accessing The debug value needs to be set to those numbers - 16-31, 48-63, etc. Features This debug mode shows a red dotted circle around the sprites. Debug 32 Accessing The debug value needs to be set to those numbers - 32-63, 96-127, etc. Features This debug mode shows a white dotted circle around the sprites and an X at the center of the circle. Debug 64 Accessing The debug value needs to be set to those numbers - 64-127, 192-255, etc. Features This debug mode overlays a gray transparent texture onto surfaces, making their models easier to see. It's present since UveXX. Debug 128 Accessing The debug value needs to be set to those numbers - 128-255, 384-511, etc. Features This debug mode, just like the last one, overlays a gray transparent texture onto surfaces, making their models easier to see. It doesn't cover certain surfaces, most notably in cutscenes and in the menu. It's present since UveXX. Debug 256 Accessing The debug value needs to be set to those numbers - 256-511, 768-1023, etc. Features This debug mode used to be the most useful one out of them all. Most features were since removed from Universe, only still showing debug groups and making certain bosses transparent. The list below shows what it used to have. *Enemy movement patterns are shown. *Enemy health and hitboxes are shown. Earlier Chicken Invaders episodes had extra features. *Planet, wave and waveInPlanet values list the mission progress. *PrimaryEnemies lists the amount of enemies necessary to kill (present since Ultimate Omelette). *SecondaryEnemies lists the enemies that aren't necessary to kill to progress (usually Barriers, present since Ultimate Omelette). *EnemyTargetAreas lists the total amount of hitboxes (present in Cluck of the Dark Side). *Collectibles lists the amount of collectibles (present in Cluck of the Dark Side). *Certain borders are shown onscreen, including green for relocating the camera position, purple for locking the camera position, and red for the bottom area the collectibles get bounced off of (present in Cluck of the Dark Side). On planet chapters, the helper objects iA used to make them will be displayed, along with the camera speed. With the "rel" value enabled, it'll also show mission stats. The Next Wave will only show the planet/wave/waveInPlanet values. This debug mode is only present in Chicken Invaders games. Debug 512 Accessing The debug value needs to be set to those numbers - 512-1023, 1536-2047, etc. Features This debug mode shows some server related stuff, such as packets sent, enemy targets, player objects, and others. Since UveXX, it also shows a couple of UVE stats, similar to Debug 2. It's only present in Chicken Invaders games (and not in The Next Wave). It has been removed completely from Universe. Rel Accessing The rel value needs to be set to 0. Features It has a lot of features. *When Enter is pressed, the clickable buttons will get highlighted (since Ultimate Omelette). *A grid gets displayed over the menu (Universe only). *Additional networking info gets displayed (Universe only, removed in version 14). *The Debug Console is enabled (since UveUDX). *The menu displays a playback feature, which was used for replaying network games (episodes only). Along with those features, it also enables a set of expanded debug Cheats: *F1 switches over to a zoomed out camera (episodes only). *F2 blanks the screen. *F3 overlays a transparent blue texture, and also displays mission stats in combination with Debug 256. *F2 and F3 combined display less details. *F4 switches over to a debug camera (not available in public builds). *F7 also spawns a Gift and adds firepower. Note that Cheats have to be enabled first for this to work. *F10 slows down the game. Removed in Universe in version 14. *F11 speeds up the game. Removed in Universe in version 14. Category:Game Mechanics Category:Technical Category:Chicken Invaders: Revenge of the Yolk Category:Chicken Invaders: The Next Wave Category:Chicken Invaders (game)